# 参数可以传任意类型对象
def mul(first,second,third):
    print(first,'×',second,'×',third,'=',first*second*third)
mul(234,234,43)
def welcome(name):
    print('欢迎',name,'光临')
welcome('张三')
# 定义形参时，可指定默认值若传递参数默认值无效，否则无效
def hn(a = 4,b = 5,c = 7):
    print(a)
    print(b)
    print(c)
hn()
# 关键字参数可以不按照参定义顺序去传递，而直接根据参数名去传参数
# 位置参数和关键字参数可以混合使用，且位置参数必须写在前面
hn(c=3,b=4,a=56)
hn(8,c=8)
hn(mul(234,234,43))
# 在函数中对形参进行重新赋值，不会影响其他变量
def fn2(a):
    a[0] = 30
    print('a =',a,id(a))
c=[1,2,3,4]
# fn2(c.copy())
fn2(c[:])
print('c =',c,id(c))
